﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;


namespace WebshopPizzaRio
{
    public class Samenstellen : IEnumerable
    {
        private ArrayList samenstellen;
        private int totaalaantalingredienten = 0;
        private String pizzanaam = String.Empty;
        private String publiekelijk = "1";
        private Boolean isstap1gedaan = false;
        
        public Samenstellen()
        {
            samenstellen = new ArrayList();
        }

        public void AddIngredient(Ingredient ingredient)
        {
            int index = samenstellen.IndexOf(ingredient);

            if (index < 0)
            {
                    samenstellen.Add(new Ingredient(ingredient.Ingredientnr, ingredient.Ingredientnaam, ingredient.ingredientprijs, ingredient.hoeveelheid));
                    totaalaantalingredienten++;
            }
        }

        public void DeleteItem(Ingredient ingredient)
        {
            int index = samenstellen.IndexOf(ingredient);

            if (index >= 0)
            {
                    samenstellen.RemoveAt(index);
                    totaalaantalingredienten--;
            }
            else
            {
                throw new ArgumentException(String.Format("Item = {0} is not in the shopping cart."));
            }
        }

        public Ingredient getNewItem()
        {
            return new Ingredient();
        }

        public ArrayList getSamenstellenArray
        {
            get { return samenstellen; }
        }

        public IEnumerator GetEnumerator()
        {
            return (samenstellen as IEnumerable).GetEnumerator();
        }

        public int GetSetAantalIngredienten
        {
            get { return totaalaantalingredienten; }
        }

        public double GetTotaalPrijs()
        {
            decimal totaalprijs = 5.00M;

            foreach (Ingredient ingredient in samenstellen)
            {
                totaalprijs += ingredient.Totaal;
            }
            double x = (double)totaalprijs;
            return x;
        }

        public String GetandSetPizzaNaam
        {
            get { return pizzanaam; }
            set { pizzanaam = value; }
        }

        public String GetandSetPubliekelijk
        {
            get { return publiekelijk; }
            set { publiekelijk = value; }
        }

        public Boolean GetandSetIseersteStapGedaan
        {
            get { return isstap1gedaan; }
            set { isstap1gedaan = value; }
        }
    }
}